package com.monitor.system.mapper;

import com.monitor.system.domain.HardDevice;

import java.util.List;
import java.util.Map;

/**
 * 硬件设备Mapper接口
 * 
 * @author monitor
 * @date 2024-06-13
 */
public interface HardDeviceMapper 
{
    /**
     * 查询硬件设备
     * 
     * @param id 硬件设备主键
     * @return 硬件设备
     */
    public HardDevice selectHardDeviceById(Long id);

    /**
     * 查询硬件设备列表
     * 
     * @param hardDevice 硬件设备
     * @return 硬件设备集合
     */
    public List<HardDevice> selectHardDeviceList(HardDevice hardDevice);

    /**
     * 新增硬件设备
     * 
     * @param hardDevice 硬件设备
     * @return 结果
     */
    public int insertHardDevice(HardDevice hardDevice);

    /**
     * 修改硬件设备
     * 
     * @param hardDevice 硬件设备
     * @return 结果
     */
    public int updateHardDevice(HardDevice hardDevice);

    /**
     * 删除硬件设备
     * 
     * @param id 硬件设备主键
     * @return 结果
     */
    public int deleteHardDeviceById(Long id);

    /**
     * 批量删除硬件设备
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHardDeviceByIds(Long[] ids);

    public int selectDeviceCount();

    /**
     * 查询数据中心列表
     *
     * @param dataCenterId 数据中心
     * @return 数据中心集合
     */
    public List<Map<String,Object>> selectLinkTopologyHardList(String dataCenterId);
}
